add libretro platform#217
Conversation
|
PRs that require the software renderer should be marked as draft and wait until #128 is merged. |
|
Audio added. Miniaudio is used as mixing engine |
|
why software renderer? couldn't opengl be used instead? |
|
Maybe its cuz the dev wants the core to run on a device without gou |
|
yeah basically software rendering first, other hw accelerated renderers can be added later down the line |
|
Yeah I do think the hardware renderers should be integrated into the core aswell, I (as well as the dev) work with handheld gaming devices that don't have 3D GPUs so it makes sense to integrate the software renderer though |
|
If you added OpenGL support it could be merged sooner then if it starts as software only, since it wouldn't need the sw renderer to be useful. |
|
Core is now hardware accelerated through gles3. Building with software rendering is optional. |
|
Do we really need to vendor all that library stuff. Looks very big. Couldn't we just have a workflow that fetches it from wherever you got it from on build time? |
|
I have trim down the lib to only include what's needed |
|
The desktop backend now detects the opengl version at runtime, reckon libretro should too? |
|
The core can request any hardware context that is supported by the frontend and I have tested gles3 so far |
|
Oh goodie then when merged with upstream it should work on the miyoo a30 (OpenGL ES 2.0) |
| } | ||
| #endif | ||
|
|
||
| #ifdef ENABLE_GLES |
There was a problem hiding this comment.
We don't use the ENABLE_GLES macro anymore, use ENABLE_MODERN_GL
|
|
||
| #ifdef ENABLE_GLES | ||
| g_renderer = GLRenderer_create(); | ||
| GLRenderer* gl = (GLRenderer*)g_renderer; |
There was a problem hiding this comment.
You need to initialize isGLES (a bool in the GLRenderer struct) to something. Since presumably you're targetting GLES it should be true, but when you want desktop GL instead (which we should support since retroarch has desktop support) it should be false.
There was a problem hiding this comment.
In the desktop backend we basically just check glGetString(GL_VERSION) and if it contains "OpenGL ES" then we say we're on GLES. You should probably do something like that.
|
Oh and it's also hardcoded to link to libGLESv2 etc |
Allow the project to be built as a libretro core.
Currently video and input with joystick are tested to work.
Uses software renderer from https://github.com/Un1q32/Butterscotch/tree/software